import 'dart:math';

import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart';
import 'package:personinfo/page/circle/widget/ExpandableText.dart';

import '../widgets/common/CommonWidget.dart';
import 'circle/widget/CircleImageView.dart';

class CircleOfFriend extends StatefulWidget {
  const CircleOfFriend({super.key});

  @override
  State<StatefulWidget> createState() => _CircleOfFriendState();
}

class _CircleOfFriendState extends State<CircleOfFriend> {


  bool _isFooter = true;  //控制footer是否显示
  //隐藏底部
  _hideBottom(){
    Future.delayed(Duration(milliseconds: 1), () {
      setState(() {
        _isFooter = false;
        Future.delayed(Duration(milliseconds: 1000), () {
          setState(() {
            _isFooter = true;
          });
        });
      });
    });
  }
  List listInfo = [
  "又到凤凰花朵开放的时候"
  "想起某个好久不见老朋友"
  "记忆跟着感觉慢慢变鲜活"
  "染红的山坡 道别的路口"
  "青春带走了什么 留下了什么"
  "剩一片感动在心窝"
  "时光的河入海流"
  "终于我们分头走"
  "没有哪个港口是永远的停留"
  "脑海之中有一个凤凰花开的路口"
  "有我最珍惜的朋友",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息2",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
    "asdas",
    "测试信息：发布内容空间空间可怜见克拉金克拉手机打开拉萨解开了静安寺",
    "描绘信息发布内容家很近很近",
    "尝试修改啊是大还是黄金卡上的黄金卡和健康的哈克还记得看哈数据库撒啊",
    "sadsaasdsadsfd大师傅大师傅",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
    "描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息描述这又很多信息信息描述这又很多信息信息描述这又很多信息3",
  ];
  List<String> imageUrls = [
      "assets/images/1.png",
      "assets/images/2.png",
      "assets/images/3.png",
      "assets/images/4.png",
      "assets/images/5.png",
      "assets/images/4.png",
      "assets/images/4.png",
      "assets/images/banner.jpg",
      "assets/images/cicletop.jpg",
      "assets/images/message.jpg",
  ];

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    print("长度:${listInfo.length}");
  }


  @override
  Widget build(BuildContext context) {
    var random = Random();
    
    return Scaffold(
      backgroundColor: Theme.of(context).colorScheme.onPrimary,
      appBar: commonWidget.appBar(title: const Text("行情圈") ,actions: [
        InkWell(
          onTap: (){
            Navigator.pushNamed(context, "/addCircleFriend");
          },
          child: Icon(Icons.add_a_photo_outlined),
        ),
        SizedBox(width: 16,)
      ]),
      body: EasyRefresh(
        //下拉刷新
          onRefresh: () async {
            Future.delayed(const Duration(seconds: 1));
            print("下拉刷新");
          },
          //上拉加载
          onLoad: !_isFooter ? null : () async{
            await Future.delayed(const Duration(seconds: 2),(){
              List a = List.generate(10,(index)=> "这是描述信息就解开了$index解开了");
              listInfo.addAll(a);
              _hideBottom();
            });
          },
          child:ListView.builder(
            itemCount: listInfo.length,
            itemBuilder: (context,index)  {
              if(index ==0) {
                return Container(
                  padding: const EdgeInsets.fromLTRB(0, 0, 0, 20),
                  child: Stack(
                    clipBehavior: Clip.none,
                    children: [
                      Image.asset('assets/images/cicletop.jpg'),
                      Positioned(right: 16,bottom:-20,width: 80,child: Image.asset('assets/images/loginLogo.jpg'),)
                    ],
                  ),
                );
              } else {
                int len = random.nextInt(imageUrls.length);
                print(random.nextInt(imageUrls.length));
                print(imageUrls.getRange(0, len));
                return Container(
                  padding: const EdgeInsets.fromLTRB(16, 10, 16, 10),
                  child: Flex(
                    direction: Axis.horizontal,
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Flexible(flex:1,child: Image.asset("assets/images/loginLogo.jpg",width: 100,)),
                      const SizedBox(width: 10,),

                      Flexible(flex: 8,
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.start,
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Text("标题$index",style: const TextStyle(color: Color.fromRGBO(64, 199, 166, 1),fontSize: 16),),
                            ExpandableText(text: listInfo[index-1], maxLines: 4, style: TextStyle(fontSize: 15, color: Colors.black), expand: false,),

                            Container(child: CircleImageView(imageUrls: imageUrls.sublist(0, len),),)
                          ],
                        )
                      ),
                    ],
                  ),
                );
              }


            },
          )
      ),
    );
  }


}
